Many people today are pressured to maintain an increasingly dynamic lifestyle. It is easy to imagine hearing complaints from such people, such as "Who do I meet with this morning?", "Where is an open spot on my ever-changing calendar for another meeting?", or "I don't have time to keep track of all the things I have to do?"
We can attempt to solve these kinds of nagging and often stressful dilemmas by conducting business and our personal lives with the assistance of a computer. The computer can help by maintaining a schedule of appointments, managing a list of tasks, keeping track of a list of contacts important to the computer user, and managing the computer user's electronic mail. Desktop information management programs or personal information management programs have been used as a tool to implement this kind of assistance within the computer.
As mentioned above, desktop information management programs traditionally encompass this variety of distinct functions, such as maintaining schedule appointments, mail messages, contacts, etc., in a single program module. Some desktop information management programs encompass the distinct functions in different program modules internal to the desktop information management program. Each of the internal program modules maintain information, such as electronic mail messages or appointments, as "items" that are maintained in data structures. However, each of the internal program modules need to "interact" with the other internal program modules to coordinate efficient use of the maintained information. For example, Jenny Blake receives an electronic mail message from Bob Johnston, who has suggested that they go to a movie next Friday evening. Jenny wants to make an appointment within her desktop information management program to reserve time for the movie in her schedule. In the past, Jenny would have to manually copy or re-enter the information contained in each field of the electronic mail message into fields of a new appointment item within the desktop information management program. This can be a cumbersome and time-consuming task. Jenny would rather be able to use the information already in the electronic mail message and somehow automatically transform it into the proper fields of the new appointment item.
A problem arises because the mail message may have different fields when compared to the appointment item. There may not be a simple direct conversion between identical fields. More particularly, the mail message may have a subject field and a message follow-up time field. However, the appointment may have a subject field but may not have a message follow-up field. What should be done with the information in a field that does not have a matching field in the new item? Should that information be left out of the new item? Can that information still be used in the new item? Therefore, there exists a need for using as much information contained in an existing item as possible when creating a new item without forcing the computer user to manually copy or re-enter each piece of existing information in the right place or field in the new item.
In the past, computer users have had to work around this problem by manually creating a new item and then performing a conventional cut and paste operation to transfer each piece of the existing information to the proper field in the new item. However, this still forces the computer user to manually transform the information between the existing item and the new item.
The inventors of the present application are aware of a software application called Arabesque ECCO that has a simplification process for cutting and pasting information from other external application programs into the ECCO application program. The inventors of the present invention understand that the simplification process, also known as the Shooter feature, enables users to select an item of text created by other application programs and to invoke a menu within the ECCO application program. The user chooses the type of item within the ECCO application program to create using the selected item. However, the ECCO application program apparently cannot create a new item by selecting an existing item created by the ECCO application program itself. Furthermore, the ECCO application program seems to have problems mapping information from distinct fields of the selected item into specific fields of the new item to fully utilize the existing information in the selected item.
Therefore, there is a need for a system for creating a destination data structure, which physically represents a new item, populated with existing information from specific fields of a source data structure, which physically represents an existing item, without having to manually transfer the existing information into the destination data structure. There is also a need to create the destination data structure (new item) in response to a simple drag and drop operation on a representation of the source data structure (existing item). There is also a need to create the destination data structure (new item) from the existing information in more than one source data structure (existing item). Furthermore, there is a need for transforming existing information within the source data structure (existing item) into a rich text format and inserting this formatted information into the new item or data structure in order to preserve a robust, "what-you-see-is-what-you-get" (WYSIWYG) version of the existing information.